"""
多进程

知识总结：
    1.线程是最小的执行单元，而进程由至少一个线程组成。
      如何调度进程和线程，完全由操作系统决定，程序自己不能决定什么时候执行，执行多长时间。
    2.多进程和多线程的程序涉及到同步、数据共享的问题，编写起来更复杂。
    3.在Unix/Linux/Mac下，可以使用fork()调用实现多进程。
    4.要实现跨平台的多进程，可以使用multiprocessing模块。
    5.进程间通信可以通过Queue、Pipes等实现。
    6.多线程编程，模型复杂，容易发生冲突，必须用锁加以隔离，同时，又要小心死锁的发生。
    7.Python解释器由于设计时有GIL全局锁，导致了多线程无法利用多核。多线程的并发在Python中就是一个美丽的梦。
    8.一个ThreadLocal变量虽然是全局变量，但每个线程都只能读写自己线程的独立副本，互不干扰。ThreadLocal解决了参数在一个线程中各个函数之间互相传递的问题。
    9.Python的分布式进程接口简单，封装良好，适合需要把繁重任务分布到多台机器的环境下。
"""
